﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input;

using AimGameLibrary;
using AimGameLibrary.ScreenManager;

namespace AimGameLibrary.GameObject
{
    public enum StateKey
    {
        None,
        IsDown,
        IsUp,
        Pressed,
        Release
    }

    public class GameController : BaseGameObject, IHandleInputUpdate
    {
        public List<String> ListNamePressed;
        public List<String> ListNameRelease;
        public List<String> ListNameIsup;
        public List<String> ListNameIsdown;

        public List<BaseGameObject> ListObjectPressed;
        public List<BaseGameObject> ListObjectRelease;
        public List<BaseGameObject> ListObjectIsup;
        public List<BaseGameObject> ListObjectIsdown;

        public GameController()
        {
            ListNamePressed = new List<string>();
            ListNameRelease = new List<string>();
            ListNameIsup = new List<string>();
            ListNameIsdown = new List<string>();
            ListObjectPressed = new List<BaseGameObject>();
            ListObjectRelease = new List<BaseGameObject>();
            ListObjectIsup = new List<BaseGameObject>();
            ListObjectIsdown = new List<BaseGameObject>();
        }

        public virtual void HandleInputUpdateGameTime(InputState inputstate, Microsoft.Xna.Framework.GameTime gametime)
        {

        }

        public virtual void HandleInputUpdateTime(InputState inputstate, TimeSpan timespan)
        {

        }
    }
}
